home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
ms_dos
/
ct
/
ct.doc
< prev
next >
Wrap
Text File
|
1993-11-30
|
20KB
|
434 lines
------------
CTの使い方
------------
1.CTがすること。
本プログラムは、NIFTYのログを参照して、そのコメントツリーを
表示する物です。
1つの会議室で5040個までの発言についてツリーを作ることが出来
ます。それ以上の発言は扱えませんので、生ログファイルを削除したり
(危険!)、検索するディレクトリを少なくするようにして下さい。
本来は、フォーラムの会議室の発言とPATIOの発言だけを処理すれ
ば良いのですが、追加機能として以下の処理も行えるようにしました。
・HPの発言
・メール
・データライブラリー(以下DLと略す)のリスト
・今週のお知らせ
・クリッピングサービス
・NIFTYの課金情報
ただし、これらの発言等は、発言日時、発言番号の順に並んだ物として表
示されます。
また、DLは、発言番号の位置にDL番号を表示し、DL番号の順に表示
し、リストの参照数の和が異なれば異なる物として表示します。(参照数の
和の多い方が後に表示されます。)
また、課金情報は、発言番号の位置に、1番目の月を表示し、3ヵ月のア
クセス回数の和が異なれば異なる物として表示します。(アクセス回数の和
の多い方が後に表示されます。)
処理の途中で「ESC」キーを押すと、処理を中断します。中断した時、内
部で使用しているTMPファイル(後述)は削除しません。
(1) 扱うファイル
CTが理解できるファイルは、次のファイルです。
┌───────────────────────────┐
│・FAPXを使ってオートでダウンした「生ログファイル」│
│・CATLOGを使って「整理したファイル」 │
└───────────────────────────┘
これ以外のファイルは、フォーラム名や、HP・PATIOの設置者IDが
「UNKNOWN」として処理されたり、PATIOがフォーラムとして処理される
おそれがあります。
また、全く発言を見つけることができないかも知れません。
(2) 無視するファイル
CTが無視するファイルは、明らかにログファイルではないと思われる拡
張子のファイルです。
コマンドライン上で、
ct -z
と実行していただくと、無視するファイルの拡張子が表示されます。
現在、次の拡張子が登録されています。( 41 個)
OBJ EXE EXP LZH BAT LIB SND COM
PMB PLP PLT REX GGG BAS FMB MML
ASM C H LNK GUR GUS DLL ITM
MAP NPB BDF ISH O A TMP $A0
$B0 $C0 $H0 $I0 $L0 $L1 $M0 $P0
$N0
次の拡張子のファイルも無視されます。( 20 個)
$F0 ~ $F9 , $FA ~ $FK
(3) 作成するファイル
CTを実行すると「出力ディレクトリ(OutDir)」(後述)に次のファイルを
作成します。ファイルの内容については後述します。
・comtree.tmp コメントツリーの諸データが書き込まれます。
・comtree0.tmp コメントツリーの標題が書き込まれます。
・comtxt.tmp 発言の本体が書き込まれます。
・会議室.tmp フォーラムの会議室の一覧が書き込まれます。
・DL.tmp DLの一覧が書き込まれます。
また、実行時、次のファイルをMS-DOSの環境変数「tmp」に設定され
たディレクトリ(環境変数「tmp」が設定されていない場合はカレント・ディ
レクトリ)に作成します。
(実行後、削除されます。)
・$ct1.tmp ~ $ct20.tmp
・xxxxxxxx.$H0 HP処理用の内部データです。
・xxxxxxxx.$P0 PATIO処理用の内部データです。
・xxxxxxxx.$F0 ┐
↓ │
xxxxxxxx.$F9 │フォーラムの会議室処理用の内部データです。
xxxxxxxx.$FA │
↓ │
xxxxxxxx.$FK ┘
・xxxxxxxx.$M0 メール発信者の内部データです。
・xxxxxxxx.$L0 DLの内部データです。
・CLIP.$C0 クリッピングサービスの内部データです。
・BILL.$B0 課金情報の内部データです。
・NEW.$N0 「今週のお知らせ」の内部データです。
「xxxxxxxx」の部分には、フォーラム名、HP・PATIOの設定者のI
D番号、メール発信者のID番号が入ります。
なお、CTが起動された場合、上のTMPファイルがあれば全部削除します
ので、同じ名前のファイルが無いことを充分ご確認の上、CTを実行して下さ
い(削除して良いかどうかの確認はしません)。同名のファイルはないと思い
ますが………。
出力するファイルはいずれもテキストファイルです。(エディタ等で見るこ
とができます)
(4) MS-DOSの環境変数の参照
CTは、次の2つの環境変数を参照しています。
ctusr
tmp
「ctusr」は、CTに対してオプションスイッチを設定する働きがあります。
スイッチの意味はコマンドラインで指定するスイッチと全く同じです。
ただし、スイッチの優先順序があります。
優先順位が一番高いのはコマンドラインからの指定です。ここで、指定す
ると環境変数で指定していても無視されます。
優先順位が次に高いのは、環境変数「ctusr」での指定です。これは、CT
のデフォルトの値を無視します。
優先順位が最も低いのは、CTのデフォルトの値です。
「tmp」は、CTが内部で作成するTMPファイルを書き出すドライブ:デ
ィレクトリを指定します。この設定がない場合はCTを起動した時のカレント
ディレクトリにTMPファイルが書き出されます。
「tmp」をRAMディスクに設定しておくと処理が高速になります。
2.CTの実行の仕方
コマンドライン上で、次のように実行して下さい。
ct [-option] [-o OutDir名] InputDir名 [InputDir名] [InputDir名]...
または、
ct [-option] [-o OutDir名] File名 [File名] [File名]...
または、
ct [-option] @Def-File名
オプションには必ず「-」を使って下さい。
「-」の後ろには複数のオプションを指定することができます。
例: -TDo
また、別々に指定することもできます。
例: -T -D -o
また、矛盾する指定を同時に指定した場合は、後で(右側で)指定した方が
有効になります。
例: -Todt
この場合「t」が有効になります。
「-」の無いものは入力するファイル名かディレクトリ名として判断します。
ということは、逆に、「-」から始まるファイルやディレクトリは入力として
扱えないということです。適当な名前に変更(rename)してCTを起動して下
さい。
「-o OutDir名」の指定が無い場合は、「comtree.tmp」「comtree0.tmp」
「会議室.tmp」「DL.tmp」ファイルはカレント・ディレクトリに書き出されま
す。
オプションは、次のものが指定できます。
第1群 (ファイルの検索指定)
-A ・・・・・・・ CATLOGのカレント・ファイル(拡張子0)のみ検索する
-a ・・・・・・・ * CATLOGの全ての整理ファイルを検索する
CATLOGは、会議室が新しくオープンされた場合とか、ファ
イルの大きさが大きくなった場合等に、それまで書き出していたフ
ァイルの名前を変更して、新しいファイルを作り、そのファイルに
見つけた発言を追加していきます。そのファイル名はいつも同じで、
フォーラムの会議室の場合「MESxx_00.TXT」となり、HomePa
rtyの場合は「HP開設者ID.HP0」、PATIOの場合「PA
TIO開設者ID.PA0」、メールの場合「メール発信者ID.ML0」
となります。(CATLOGでは、このファイルをカレント・ファ
イルと名付けています)
そして、整理して出来上がったファイルに対してコメントツリー
を作る場合、通常は(デフォルト)古いファイルに対してもコメン
トツリーを作ろうとしますが、このスイッチを指定することにより、
検索の対象をカレント・ファイルだけに絞ることができます。(処
理時間が短くなるということです)。
-F数 ・・・・・ 数Kバイトまでファイルを検索する
-f ・・・・・・・ * サイズで中断しない
これは、発言が入っているかも知れないファイルを読み込むのに、
「数」で指定した以上のサイズ(合計値)のファイルは読み込まな
い、というスイッチです。
例: -F1024
この場合、読み込むファイルが 1024 × 1024 バイトを超える
と、以後の指定のファイルは無視されます。
-R ・・・・・・・ サブディレクトリのファイルを検索しない
-r ・・・・・・・ * サブディレクトリのファイルを検索する
第2群 (出力ディレクトリの指定)
-o ・・・・・・・ 「comtree.tmp」「comtree0.tmp」「会議室.tmp」の出力先の
指定
入力するファイルやディレクトリの、指定よりも先に指定して下さい。
そうしないと「会議室.tmp」というファイルがカレント・ディレクト
リに作られてしまいます。
第3群 (高速化のための処理の指定)
-D ・・・・・・・ 標題等を画面上に表示しない
-d ・・・・・・・ * 標題等を画面上に表示する
-T ・・・・・・・ 発言の本体(comtxt.tmp)を出力しない
-t ・・・・・・・ * 発言の本体(comtxt.tmp)を出力する
第4群 (ツリーの作り方の指定)
-1 ・・・・・・・ ベタのまま、発言の標題を表示する
-2 ・・・・・・・ * コメントツリーで発言の標題を表示する
第5群 (設定ファイルの読み込み指定)
@ ・・・・・・・ コマンド・ラインに記述しきれない場合や同一の処理を
繰り返し行う場合に、コマンド・ラインに記述する書式
で指定します。
第6群 (補助的な指定)
-z ・・・・・・・ 読み飛ばす拡張子を表示する( 40 個 )
実行後、終了します。
★ 「*」 は、デフォルトの設定です
3.「入力ディレクトリ(InputDir)」「出力ディレクトリ(OutDir)」について
(1) 入力ディレクトリ(InputDir)
ログ・ファイルがどのドライブ:ディレクトリにあるのか指定します。
指定の仕方はMS-DOSの方法です。
カレント・ディレクトリのファイルを検索するのであれば「.」を指定します。
この部分にファイル名を指定すると、指定したファイルだけを読み込んで発
言を探索します。
MS-DOSのワイルド・カードが使用できます。
設定を省略することはできません。
ディレクトリ名の最後に「\ 」を付ける必要はありません。
(2) 出力ディレクトリ(OutDir)
CTが作るファイルをどのドライブ:ディレクトリに書き出すかを指定しま
す。
指定の仕方はMS-DOSの方法です。
この指定は省略することができます。省略されると、起動時のカレント・デ
ィレクトリにファイルを書き出します。
ディレクトリ名の最後に「\ 」を付ける必要はありません。
この部分にRAMディスクを指定すると、少し高速になります。
4.CTが作るファイルについて。
(1) comtree.tmp コメントツリーの諸データが書き込まれます。
このデータは、3行が1セットになって、3行で1つの発言についてのデー
タを表します。
そして、「comtree0.tmp」に書き出される標題だけのデータや、「comtxt.t
mp」に書き出される発言の本体と、同じ順番で書き出されています。
その内容は次のようになっています。
1行目はフォーラム名の行(NIFTYの形式)が入ります。
以後フォーラム名が変わる場合は、「フォーラム名変更」という文字列
が入ります。会議室番号は入りません。
以後会議室番号が変わる場合は、「会議室名変更」という文字列が入り
ます。会議室番号は入りません。
2行目は、発言に関するデータが入ります。その意味は下の通りです。
"%5ld %5ld %8ld %8ld %5d %5d %10ld\n"
| | | | | | ↓
| | | | | ↓ 発言日時(10文字の数字)
| | | | ↓ 発言の終了行(5文字の数字)
| | | ↓ 発言の開始行(5文字の数字)
| | ↓ 発言の終了バイト数(8文字の数字)
| ↓ 発言の開始バイト数(8文字の数字)
↓ コメント元番号(5文字の数字)
発言番号(5文字の数字)
「フォーラム名変更」「会議室名変更」の場合は、それぞれ該当の名前
が入ります。
3行目は発言のあったファイル名がパス名付きで書き出されます。
「フォーラム名変更」「会議室名変更」の場合は、改行だけです。
(2) comtree0.tmp コメントツリーの標題が書き込まれます。
内容は、画面上に表示される文字列をそのままファイルに書き込んだ物です。
発言のツリーだけを表示すると、どのフォーラムのどの会議室の発言か分か
りにくいので、それらがわかるデータ(標題)を入れてあります。
(3) comtxt.tmp 発言の本体が書き込まれます。
各発言の行頭には次の行が入っています。これらの文字列を検索することに
より、エディタ等を使って発言を読むことができます。
HPの場合 *****log整理(HP:xxxxxxxx ) ファイル名 *****
PATIOの場合 *****log整理(PATIO:xxxxxxxx ) ファイル名 *****
メールの場合 *****log整理(MAIL:xxxxxxxx ) ファイル名 *****
DLの場合 *****log整理(FORUM:xxxxxxxx LIB:xx) ファイル名 *****
フォーラムの場合 *****log整理(FORUM:xxxxxxxx MES:xx) ファイル名 *****
今週のお知らせの場合 *****log整理(今週のお知らせ ) ファイル名 *****
クリッピングサービス の場合 *****log整理(クリッピングサービス ) ファイル名 *****
課金情報の場合 *****log整理(利用料金情報 ) ファイル名 *****
「xxxxxxxx」の部分は8文字で、左詰めです。
「xx」の部分は2文字で、右詰めです。
(4) 会議室.tmp フォーラムの会議室の一覧が書き込まれます。
フォーラムの会議室の一覧が書き込まれます。
形式は、次のようになっています。
┌──────────────────────────┐
│FORUM:xxxxxx │
│<FMフォーラム????館) > xxxxxx │
│番号 発言 (未読) 最新 会議室名 │
│ 1 1 ( 1) 08/21 FAPXの部屋 │
└──────────────────────────┘
フォーラムとフォーラムの間には1行の空行があります。
また、会議室の一覧に当たる文字列がなかった場合、このファイルは作成さ
れません。
(5) DL.tmp DLの一覧が書き込まれます。
DLの一覧が書き込まれます。
形式は、次のようになっています。
┌──────────────────────────┐
│LIB:xxxxxx │
│<FMフォーラム????館) > xxxxxx │
│番号 総数 登録済 最新 ライブラリ名 │
│ 1 1 ( 1) 08/21 FAPX関連 │
└──────────────────────────┘
フォーラムとフォーラムの間には1行の空行があります。
また、DLの一覧に当たる文字列がなかった場合、このファイルは作成さ
れません。
(6) TMPファイルについて
実行時、次のファイルをMS-DOSの環境変数「tmp」に設定されたディレ
クトリ(環境変数「tmp」が設定されていない場合はカレント・ディレクトリ)
に作成します。(実行後、削除されます。)
・$ct1.tmp ~ $ct20.tmp
・xxxxxxxx.$H0 HP処理用の内部データです。
・xxxxxxxx.$P0 PATIO処理用の内部データです。
・xxxxxxxx.$F0 ┐
↓ │
xxxxxxxx.$F9 │フォーラムの会議室処理用の内部データです。
xxxxxxxx.$FA │
↓ │
xxxxxxxx.$FK ┘
・xxxxxxxx.$M0 メール発信者の内部データです。
・xxxxxxxx.$L0 DLの内部データです。
・CLIP.$C0 クリッピングサービスの内部データです。
・BILL.$B0 課金情報の内部データです。
・NEW.$N0 「今週のお知らせ」の内部データです。
「xxxxxxxx」の部分には、フォーラム名、HP・PATIOの設定者のI
D番号、メール発信者のID番号が入ります。
ファイルの内容は、1つの発言について6行で記述しています。
1行目:フォーラム名と会議室番号が入ります。
フォーラム名は8バイトで会議室番号との間には空白があります。
2行目:フォーラム名の行が入ります。次のような行です。
<FMTOWNS フォーラム 1 (基本編) > FTOWNS1
3行目:会議室番号の行が入ります。会議室の一覧から得ています。
16 470 ( 5) 08/15 MOPTERM と 仲間たち 【Q&A/交換】
4行目:発言があったファイル名が入ります。
5行目:発言に関するデータが入ります。「comtree.tmp」と同じ書式です。
6行目:発言者のハンドル(ID)と発言の題名が入ります。
なお、CTが起動された場合、上のTMPファイルがあれば全部削除します
ので、カレント・ディレクトリやMS-DOSの環境変数「tmp」で指定したデ
ィレクトリに、同じ名前のファイルが無いことを充分ご確認の上、CTを実行
して下さい(削除して良いかどうかの確認はしません)。同名のファイルはな
いと思いますが………。
また、CTを実行している間に「ESC」キーを押すと、処理が中断されます。
この時、上記のTMPファイルはそのままディレクトリに残ってしまいます。
5.実行例
(1) 実行例1
「f:\log」にあるファイルを検索してツリーを作る。
できたファイルは「f:\tmp」に書き出す。
「comtxt.tmp」を作る。
ct -o f:\tmp f:\log
(2) 実行例2
「f:\log」にあるファイルを検索して、ツリーを作る。
できたファイルはカレント・ディレクトリに書き出す。
ただし、「comtxt.tmp」ファイルは作らない。
ct -T f:\log
例1と異なる所はオプション指定を付加していることです。
(3) 実行例3
「f:\log\ffmhob 」にあるファイルを検索して、ツリーを作る。
できたファイルは「f:\tmp」に書き出す。
「comtxt.tmp」ファイルは作らない。
ct -o f:\tmp -DT f:\log\ffmhob
(4) 実行例4 → できるだけ高速に処理を行う。
MS-DOSの環境変数「tmp」にRAMディスクを指定する。
例えば、「G:」ドライブがRAMディスクだったとすると、システム
起動時に最初に実行する「autoexec.bat」というバッチファイルに
set tmp=g:
という1行を追加しておくと設定できます。
「-D」オプションを指定する。
「-T」オプションを指定する。
使い方はだいたい分かっていただいたでしょうか?
6.問題点
(1) とにかく、処理に時間がかかるということです。
CATLOGで整理したファイルに対して処理を行うと、数分~数十分も
待たされます。どうするかが今後の問題です。
(2) かなりたくさんのTMPファイルを作ります。
1つの会議室につき、1ファイルを作ります。10のフォーラムで10の
会議室の発言があると100個のTMPファイルができます。
(3) 「-T」オプションを指定しない場合、「comtxt.tmp」というファイルを書
き出す為、発言と同じ大きさのファイルができてしまうということです。
(それ以外のファイルはそれ程大きくはないんですが)
(4) ファイルに書き出す際、ちゃんと書き出されたかどうかのチェックは行っ
ていません(はっきり言って手抜きです)。できるだけ残り容量の大きいド
ライブに環境変数「tmp」や「出力ディレクトリ(OutDir)」を指定して欲し
いと思います。
(5) 実行時、メモリーのヒープ領域を大量に確保します。充分なメモリーが無
い場合は処理できる発言数が少なくなるばかりか、「発言の数が多くて処理
できません」というエラーメッセージを出して中断することもあります。
7.作成協力者
以下の方々にご協力いただいて、本プログラムは作られました。
ここに紹介して感謝の念を表したいと思います。
PEE01244 Yama-chan さん
PFG02442 <Nakatani> さん
QFH02666 『コノミ』 さん
GFF00430 えんでん さん
VFA03257 フェイス さん
PED00201 JINX さん
HCD01017 猫飛 さん
HAD01045 SAINT さん
PGA01332 -なるチャン-☆ さん
HAC01216 doubt さん
GDH03105 だいへいくん さん
GBH00541 DORAGON さん
HFB02053 RENCHAN さん
JAG00217 てげてげ さん
HGE00530 し~なくん さん
8.著作権
本プログラムはNIFTY-ID:GHH01217 山先(やません)に
著作権があるものとします。しかし、その使用、配付は自由に行っていただい
てかまいません。(FAPXには、同梱してもらうことにしました)
9.何かありましたら。
NIFTYのフォーラムFTOWNS1の「MopTermとその仲間たち」
の会議室に発言されるか、私あてメールを下さい。
GHH01217 山先